[INFO] cloning repository https://github.com/lforeverhao/rust_learn
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lforeverhao/rust_learn" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flforeverhao%2Frust_learn", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flforeverhao%2Frust_learn'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5c0fa028aa8343016f141e54ddace34b70347b38
[INFO] building lforeverhao/rust_learn against master#881c1ac408d93bb7adaa3a51dabab9266e82eee8 for issue-85264
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flforeverhao%2Frust_learn" "/workspace/builds/worker-7/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/lforeverhao/rust_learn on toolchain 881c1ac408d93bb7adaa3a51dabab9266e82eee8
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/lforeverhao/rust_learn
[INFO] finished tweaking git repo https://github.com/lforeverhao/rust_learn
[INFO] tweaked toml for git repo https://github.com/lforeverhao/rust_learn written to /workspace/builds/worker-7/source/Cargo.toml
[INFO] crate git repo https://github.com/lforeverhao/rust_learn already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded lock_api v0.3.2
[INFO] [stderr]   Downloaded scoped-tls v0.1.2
[INFO] [stderr]   Downloaded tokio-executor v0.1.9
[INFO] [stderr]   Downloaded tokio-udp v0.1.5
[INFO] [stderr]   Downloaded tokio-threadpool v0.1.17
[INFO] [stderr]   Downloaded tokio-reactor v0.1.11
[INFO] [stderr]   Downloaded hermit-abi v0.1.5
[INFO] [stderr]   Downloaded tokio-timer v0.2.12
[INFO] [stderr]   Downloaded tokio-core v0.1.17
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b1e98cc1924c8275dc16558eb00df90a086f604b9cb1a16ea935e64787c82da6
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "b1e98cc1924c8275dc16558eb00df90a086f604b9cb1a16ea935e64787c82da6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b1e98cc1924c8275dc16558eb00df90a086f604b9cb1a16ea935e64787c82da6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b1e98cc1924c8275dc16558eb00df90a086f604b9cb1a16ea935e64787c82da6", kill_on_drop: false }`
[INFO] [stdout] b1e98cc1924c8275dc16558eb00df90a086f604b9cb1a16ea935e64787c82da6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 12f17d08830841a8066c6a263e1ad2df8c6e33928612431d4e61f015e1841f36
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "12f17d08830841a8066c6a263e1ad2df8c6e33928612431d4e61f015e1841f36", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.66
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling futures v0.1.29
[INFO] [stderr]    Compiling byteorder v1.3.2
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling scopeguard v1.0.0
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling itoa v0.4.4
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling httparse v1.3.4
[INFO] [stderr]    Compiling scoped-tls v0.1.2
[INFO] [stderr]    Compiling test_borrow v0.1.0 (/opt/rustwide/workdir/test_borrow)
[INFO] [stderr]    Compiling test_concurrent v0.1.0 (/opt/rustwide/workdir/test_concurrent)
[INFO] [stderr]    Compiling test_lifetime v0.1.0 (/opt/rustwide/workdir/test_lifetime)
[INFO] [stderr]    Compiling test_collection v0.1.0 (/opt/rustwide/workdir/test_collection)
[INFO] [stderr]    Compiling test_api v0.1.0 (/opt/rustwide/workdir/test_api)
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> test_collection/src/lib.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `main`
[INFO] [stdout]  --> test_collection/src/lib.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn main() {}
[INFO] [stdout]   |    ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Metadata`, `read_to_string`
[INFO] [stdout]  --> test_api/src/main.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs::{File, Metadata, read_to_string};
[INFO] [stdout]   |                     ^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> test_api/src/main.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{Error, Read};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `process_err`
[INFO] [stdout]   --> test_api/src/main.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn process_err(s: String) -> io::Result<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling test_string v0.1.0 (/opt/rustwide/workdir/test_string)
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> test_concurrent/src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> test_concurrent/src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc`
[INFO] [stdout]  --> test_concurrent/src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::mpsc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> test_concurrent/src/thread_test.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorrowMut`, `Borrow`
[INFO] [stdout]  --> test_concurrent/src/mutex.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::{Borrow, BorrowMut};
[INFO] [stdout]   |                   ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Cell`, `RefCell`
[INFO] [stdout]  --> test_concurrent/src/arc.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::{Cell, RefCell};
[INFO] [stdout]   |                 ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> test_concurrent/src/atomic.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `main`
[INFO] [stdout]  --> test_lifetime/src/lib.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn main() {}
[INFO] [stdout]   |    ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `longest`
[INFO] [stdout]   --> test_lifetime/src/lib.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling test_smart_pointer v0.1.0 (/opt/rustwide/workdir/test_smart_pointer)
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling test_mod v0.1.0 (/opt/rustwide/workdir/test_mod)
[INFO] [stderr]    Compiling crossbeam-utils v0.6.6
[INFO] [stderr]    Compiling crossbeam-utils v0.7.0
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> test_concurrent/src/channel.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     for i in 0..10 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]   --> test_concurrent/src/channel.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let handle = thread::spawn(move || {
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> test_concurrent/src/channel.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     for x in receiver {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> test_concurrent/src/mutex.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |         for i in 0..COUNT {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> test_concurrent/src/mutex.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |         for i in 0..COUNT {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> test_concurrent/src/mutex.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |         for i in 0..COUNT {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]  --> test_concurrent/src/arc.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     for index in 0..10 {
[INFO] [stdout]   |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> test_concurrent/src/atomic.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |         for x in 0..COUNT {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> test_concurrent/src/atomic.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |         for x in 0..COUNT {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> test_concurrent/src/atomic.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |         for x in 0..COUNT {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `run_sync_channel`
[INFO] [stdout]  --> test_concurrent/src/channel.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn run_sync_channel() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `run_async_channel`
[INFO] [stdout]   --> test_concurrent/src/channel.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn run_async_channel() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `multi_sender_one_receiver`
[INFO] [stdout]   --> test_concurrent/src/channel.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn multi_sender_one_receiver() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `create_thread`
[INFO] [stdout]  --> test_concurrent/src/thread_test.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn create_thread() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `park_thread`
[INFO] [stdout]   --> test_concurrent/src/thread_test.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn park_thread() {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `create_thread_move`
[INFO] [stdout]   --> test_concurrent/src/thread_test.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn create_thread_move() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `create_thread_no_move`
[INFO] [stdout]   --> test_concurrent/src/thread_test.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn create_thread_no_move() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `mutex_test`
[INFO] [stdout]  --> test_concurrent/src/mutex.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn mutex_test() {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `arc_cross_thread`
[INFO] [stdout]  --> test_concurrent/src/arc.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn arc_cross_thread() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `arc_one_write_multi_read`
[INFO] [stdout]   --> test_concurrent/src/arc.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn arc_one_write_multi_read() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `atomic_test`
[INFO] [stdout]  --> test_concurrent/src/atomic.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn atomic_test() {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> test_concurrent/src/thread_test.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     handle.join();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> test_concurrent/src/thread_test.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     handle.join();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `arcClone` should have a snake case name
[INFO] [stdout]  --> test_concurrent/src/mutex.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let arcClone = arc.clone();
[INFO] [stdout]   |         ^^^^^^^^ help: convert the identifier to snake case: `arc_clone`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `arcClone1` should have a snake case name
[INFO] [stdout]   --> test_concurrent/src/mutex.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let arcClone1 = arc.clone();
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `arc_clone1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `arcClone2` should have a snake case name
[INFO] [stdout]   --> test_concurrent/src/mutex.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let arcClone2 = arc.clone();
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `arc_clone2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> test_concurrent/src/mutex.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     handle.join();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> test_concurrent/src/mutex.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     handle1.join();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> test_concurrent/src/mutex.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     handle2.join();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> test_concurrent/src/atomic.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     thread.join();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> test_concurrent/src/atomic.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     thread1.join();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> test_concurrent/src/atomic.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     thread2.join();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::Chars`
[INFO] [stdout]  --> test_string/src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::str::Chars;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `showStr`
[INFO] [stdout]   --> test_string/src/main.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn showStr(s: &str) {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `showStr` should have a snake case name
[INFO] [stdout]   --> test_string/src/main.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn showStr(s: &str) {
[INFO] [stdout]    |    ^^^^^^^ help: convert the identifier to snake case: `show_str`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.0
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]  --> test_mod/src/main.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     let a = my_mod::A::C {};
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]  --> test_mod/src/main.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     let d = my_mod::B::D {};
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> test_mod/src/my_mod.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 |         let c = A::C {};
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `side`
[INFO] [stdout]   --> test_mod/src/my_mod.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 |         let side = mod_call::OutSide {};
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_side`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b1`
[INFO] [stdout]  --> test_mod/src/mod_call.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 |         let b1 = B::B1 {};
[INFO] [stdout]   |             ^^ help: if this is intentional, prefix it with an underscore: `_b1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `getC`
[INFO] [stdout]  --> test_mod/src/my_mod.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 |     pub fn getC(){
[INFO] [stdout]   |            ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `getC`
[INFO] [stdout]   --> test_mod/src/my_mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn getC(){
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `A1`
[INFO] [stdout]  --> test_mod/src/mod_call.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 |     struct A1;
[INFO] [stdout]   |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `fooA`
[INFO] [stdout]  --> test_mod/src/mod_call.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fn fooA(){
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `B1`
[INFO] [stdout]   --> test_mod/src/mod_call.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub struct B1;
[INFO] [stdout]    |                ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `fooB`
[INFO] [stdout]   --> test_mod/src/mod_call.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn fooB(){}
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `OutSide`
[INFO] [stdout]   --> test_mod/src/mod_call.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct OutSide;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `A` should have a snake case name
[INFO] [stdout]  --> test_mod/src/my_mod.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod A {
[INFO] [stdout]   |         ^ help: convert the identifier to snake case: `a`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `B` should have a snake case name
[INFO] [stdout]  --> test_mod/src/my_mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub mod B {
[INFO] [stdout]   |         ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getC` should have a snake case name
[INFO] [stdout]  --> test_mod/src/my_mod.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 |     pub fn getC(){
[INFO] [stdout]   |            ^^^^ help: convert the identifier to snake case: `get_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getC` should have a snake case name
[INFO] [stdout]   --> test_mod/src/my_mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn getC(){
[INFO] [stdout]    |            ^^^^ help: convert the identifier to snake case: `get_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `A` should have a snake case name
[INFO] [stdout]  --> test_mod/src/mod_call.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | mod A {
[INFO] [stdout]   |     ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `B` should have a snake case name
[INFO] [stdout]  --> test_mod/src/mod_call.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | mod B{
[INFO] [stdout]   |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fooA` should have a snake case name
[INFO] [stdout]  --> test_mod/src/mod_call.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fn fooA(){
[INFO] [stdout]   |        ^^^^ help: convert the identifier to snake case: `foo_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fooB` should have a snake case name
[INFO] [stdout]   --> test_mod/src/mod_call.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn fooB(){}
[INFO] [stdout]    |        ^^^^ help: convert the identifier to snake case: `foo_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> test_smart_pointer/src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> test_smart_pointer/src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> test_smart_pointer/src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> test_smart_pointer/src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> test_smart_pointer/src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> test_smart_pointer/src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::LinkedList`
[INFO] [stdout]  --> test_smart_pointer/src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::LinkedList;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorrowMut`, `Borrow`
[INFO] [stdout]  --> test_smart_pointer/src/linked_list.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::{Borrow, BorrowMut};
[INFO] [stdout]   |                   ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> test_smart_pointer/src/linked_list.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::Shutdown::Read`
[INFO] [stdout]  --> test_smart_pointer/src/linked_list.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::net::Shutdown::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut`, `Deref`
[INFO] [stdout]  --> test_smart_pointer/src/linked_list.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ops::{Deref, DerefMut};
[INFO] [stdout]   |                ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> test_smart_pointer/src/linked_list.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorrowMut`, `Borrow`
[INFO] [stdout]  --> test_smart_pointer/src/refcell_linked_list.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::{Borrow, BorrowMut};
[INFO] [stdout]   |                   ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> test_smart_pointer/src/refcell_linked_list.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0601]: `main` function not found in crate `test_smart_pointer`
[INFO] [stdout]   --> test_smart_pointer/src/main.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout] 1  | / use std::rc::Rc;
[INFO] [stdout] 2  | | use std::fmt::Debug;
[INFO] [stdout] 3  | | use std::ops::Add;
[INFO] [stdout] 4  | | use std::sync::Arc;
[INFO] [stdout] ...  |
[INFO] [stdout] 83 | |     linked_list::test_linked_list();
[INFO] [stdout] 84 | | }
[INFO] [stdout]    | |_^ consider adding a `main` function to `test_smart_pointer/src/main.rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling indexmap v1.3.0
[INFO] [stderr]    Compiling lock_api v0.3.2
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stdout] error[E0599]: no method named `get_next_mut` found for mutable reference `&mut Box<my_link_list::Node<T>>` in the current scope
[INFO] [stdout]   --> test_smart_pointer/src/linked_list.rs:88:26
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 return x.get_next_mut();
[INFO] [stdout]    |                          ^^^^^^^^^^^^ help: there is an associated function with a similar name: `get_next`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> test_smart_pointer/src/linked_list.rs:96:24
[INFO] [stdout]    |
[INFO] [stdout] 94 |         pub fn get_next(&self) -> Option<&Node<T>> {
[INFO] [stdout]    |                                   ---------------- expected because this return type...
[INFO] [stdout] 95 |             if let Some(mut x) = &self.next {
[INFO] [stdout] 96 |                 return x.get_next();
[INFO] [stdout]    |                        ^^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        types differ in mutability
[INFO] [stdout]    |                        ...is found to be `Option<&my_link_list::Node<T>>` here
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `Option<&my_link_list::Node<T>>`
[INFO] [stdout]               found enum `Option<&mut my_link_list::Node<T>>`
[INFO] [stdout]    = note: to return `impl Trait`, all returned values must be of the same type
[INFO] [stdout]    = note: for information on `impl Trait`, see <https://doc.rust-lang.org/book/ch10-02-traits.html#returning-types-that-implement-traits>
[INFO] [stdout]    = help: you could instead create a new `enum` with a variant for each returned type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> test_smart_pointer/src/linked_list.rs:166:27
[INFO] [stdout]     |
[INFO] [stdout] 166 |     fn next(&mut self) -> Option<Self::Item> {
[INFO] [stdout]     |        ----               ^^^^^^^^^^^^^^^^^^ expected enum `Option`, found `()`
[INFO] [stdout]     |        |
[INFO] [stdout]     |        implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Option<my_link_list::Node<T>>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 39 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `refcell_linked_list::Node<{integer}>` is not an iterator
[INFO] [stdout]   --> test_smart_pointer/src/refcell_linked_list.rs:35:14
[INFO] [stdout]    |
[INFO] [stdout] 35 |     for x in node {
[INFO] [stdout]    |              ^^^^ `refcell_linked_list::Node<{integer}>` is not an iterator
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Iterator` is not implemented for `refcell_linked_list::Node<{integer}>`
[INFO] [stdout]    = note: required because of the requirements on the impl of `IntoIterator` for `refcell_linked_list::Node<{integer}>`
[INFO] [stdout]    = note: required by `into_iter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors; 14 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0599, E0601.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr]    Compiling smallvec v0.6.13
[INFO] [stderr] error: could not compile `test_smart_pointer`
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 20 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "12f17d08830841a8066c6a263e1ad2df8c6e33928612431d4e61f015e1841f36", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "12f17d08830841a8066c6a263e1ad2df8c6e33928612431d4e61f015e1841f36", kill_on_drop: false }`
[INFO] [stdout] 12f17d08830841a8066c6a263e1ad2df8c6e33928612431d4e61f015e1841f36
